gtk4.git
12 years agogtk_entry_completion_set_text_column: reuse old renderer
Lars Uebernickel [Sat, 2 Nov 2013 13:22:33 +0000 (14:22 +0100)]
gtk_entry_completion_set_text_column: reuse old renderer

gtk_entry_completion_set_text_column() always added a cell renderer,
regardless of whether there was an existing one already installed.  This
patch reuses an old renderer if it exists, but only if it was added by a
previous call to this function.

To avoid conflicts, all renderers that were added manually are removed
when calling this function. Also, the renderer added by this function is
removed when manually adding new renderers. This effectively gives
GtkEntryCompletion two modes (managed and manual cell renderers) and
allows seamless switching between the two.

This is a minor API break. However, this shouldn't be an issue in
practice as applications couldn't call set_text_column() more than once
because of this bug. Also, it is unlikely that many applications mix
set_text_column() and custom cell renderers. The interaction between the
two modes was erratic and not documented well.

https://bugzilla.gnome.org/show_bug.cgi?id=635499

12 years agoFix "make install"
Paolo Borelli [Sat, 2 Nov 2013 11:15:34 +0000 (12:15 +0100)]
Fix "make install"

These files were listed twice

12 years agoreftests: Add missing reftests to the test runner
Jasper St. Pierre [Fri, 1 Nov 2013 20:51:31 +0000 (16:51 -0400)]
reftests: Add missing reftests to the test runner

12 years agogtksettings: Allow setting the GTK+ theme with an envvar
Jasper St. Pierre [Fri, 1 Nov 2013 20:03:56 +0000 (16:03 -0400)]
gtksettings: Allow setting the GTK+ theme with an envvar

To test with Raleigh much easier.

12 years agoframe: Remove a couple strange casts...
Jasper St. Pierre [Fri, 1 Nov 2013 18:12:37 +0000 (14:12 -0400)]
frame: Remove a couple strange casts...

12 years agoWin32 : fixes Bug 679019 (Popup menu misplaced in dual monitor)
Manuel Bachmann [Fri, 1 Nov 2013 16:59:05 +0000 (17:59 +0100)]
Win32 : fixes Bug 679019 (Popup menu misplaced in dual monitor)

12 years agoGtkEntryCompletion: call setter for "text-column"
Lars Uebernickel [Thu, 31 Oct 2013 06:34:50 +0000 (23:34 -0700)]
GtkEntryCompletion: call setter for "text-column"

Call gtk_entry_completion_set_text_column() when setting the
"text-column" property directly.

The completion appeared empty when setting "text-column" directly (for
example from a GtkBuilder file), because the setter creates and adds the
GtkCellRendererText.

https://bugzilla.gnome.org/show_bug.cgi?id=710533

12 years agostack: Fix the slide animation if the child has a non-zero allocation position
Jasper St. Pierre [Fri, 1 Nov 2013 05:51:27 +0000 (01:51 -0400)]
stack: Fix the slide animation if the child has a non-zero allocation position

This can happen if the child has a margin, for instance.

12 years agostack: Scope some variables so that the code is clearer
Jasper St. Pierre [Fri, 1 Nov 2013 05:49:29 +0000 (01:49 -0400)]
stack: Scope some variables so that the code is clearer

... that the allocation magic here is for the transition of the
last visible child that's sliding out.

12 years agogtkoverlay: Remove get_preferred_width / get_preferred_height implementation
Jasper St. Pierre [Thu, 31 Oct 2013 20:20:02 +0000 (16:20 -0400)]
gtkoverlay: Remove get_preferred_width / get_preferred_height implementation

GtkBin now handles this for us.

12 years agoWin32: Honor the geometry when GDK_HINT_MAX_SIZE is set.
Cody Russell [Thu, 31 Oct 2013 20:54:28 +0000 (15:54 -0500)]
Win32: Honor the geometry when GDK_HINT_MAX_SIZE is set.

The MINMAXINFO struct was being populated based upon geometry hints when
GDK_HINT_MAX_SIZE flag was enabled, then promptly having its values blown
away with default values.

https://bugzilla.gnome.org/show_bug.cgi?id=711110

12 years agogtkbox: Draw backgrounds and borders
Jasper St. Pierre [Thu, 31 Oct 2013 16:18:59 +0000 (12:18 -0400)]
gtkbox: Draw backgrounds and borders

12 years agobroadway-server: Fix signedness issue
Jasper St. Pierre [Thu, 31 Oct 2013 16:19:59 +0000 (12:19 -0400)]
broadway-server: Fix signedness issue

12 years agoBroadway : Replaced be32toh() with win32-compatible ntohl()
Manuel Bachmann [Wed, 30 Oct 2013 23:43:58 +0000 (00:43 +0100)]
Broadway : Replaced be32toh() with win32-compatible ntohl()

12 years agoMake treeview cursor handling a bit more robust
Matthias Clasen [Wed, 30 Oct 2013 17:57:33 +0000 (13:57 -0400)]
Make treeview cursor handling a bit more robust

Clearing the model in a GtkTreeSelection::changed handler was
crashing. While it is not a 100% kosher thing to do, lets be
more robust here.

12 years agoRevert "wayland: Support always-on-top / sticky windows"
Jasper St. Pierre [Tue, 29 Oct 2013 21:13:03 +0000 (17:13 -0400)]
Revert "wayland: Support always-on-top / sticky windows"

This reverts commit b3cffb85f39183a83a99e7517191e46bcd744749.

Pushed by accident.

12 years agoUse g_return_val_if_fail where return value needed.
Daniel Svensson [Sun, 27 Oct 2013 21:36:32 +0000 (22:36 +0100)]
Use g_return_val_if_fail where return value needed.

https://bugzilla.gnome.org/show_bug.cgi?id=710987

12 years agowayland: Support always-on-top / sticky windows
Jasper St. Pierre [Wed, 9 Oct 2013 20:55:55 +0000 (16:55 -0400)]
wayland: Support always-on-top / sticky windows

Use the new gtk-shell APIs available in mutter to add support for this.

https://bugzilla.gnome.org/show_bug.cgi?id=710056

12 years agowayland: Always attach null surfaces on hide
Jasper St. Pierre [Mon, 16 Sep 2013 22:39:55 +0000 (18:39 -0400)]
wayland: Always attach null surfaces on hide

Destroying the surface isn't really appropriate, as the GtkWindow
is still realized and we won't necessarily know how to reconstruct it.

12 years agowayland: Remove a useless else-if
Jasper St. Pierre [Mon, 16 Sep 2013 22:38:48 +0000 (18:38 -0400)]
wayland: Remove a useless else-if

We already check for impl->surface as the first branch we do.

12 years agowayland: Make the code here a bit clearer
Jasper St. Pierre [Mon, 16 Sep 2013 22:38:15 +0000 (18:38 -0400)]
wayland: Make the code here a bit clearer

By grouping the destroy and field clear together.

12 years agowayland: Ensure we keep our internal state when hiding a window with no surface
Jasper St. Pierre [Mon, 16 Sep 2013 22:36:18 +0000 (18:36 -0400)]
wayland: Ensure we keep our internal state when hiding a window with no surface

We need to keep track of the mapped variable here.

12 years agogtkdialog: Allow specifying response IDs by nick in <action-widgets>
Jasper St. Pierre [Mon, 28 Oct 2013 15:19:43 +0000 (11:19 -0400)]
gtkdialog: Allow specifying response IDs by nick in <action-widgets>

This makes it a lot more convenient for developers, as they don't
have to look up the numeric value of response IDs.

12 years agoBump version
Matthias Clasen [Mon, 28 Oct 2013 13:12:46 +0000 (09:12 -0400)]
Bump version

12 years agoFix up accessibility tests
Matthias Clasen [Mon, 28 Oct 2013 11:20:11 +0000 (07:20 -0400)]
Fix up accessibility tests

The output had gotten debug spew in it.

12 years agoUpdate the release notes
Matthias Clasen [Mon, 28 Oct 2013 11:17:16 +0000 (07:17 -0400)]
Update the release notes

12 years agoRemove debug spew
Matthias Clasen [Mon, 28 Oct 2013 11:16:30 +0000 (07:16 -0400)]
Remove debug spew

12 years agoGtkWidget: Fix clipping to large subwindows
Alexander Larsson [Mon, 28 Oct 2013 10:32:51 +0000 (11:32 +0100)]
GtkWidget: Fix clipping to large subwindows

_gtk_widget_draw_internal() was clipping by passing the subwindow
sizes as a path to cairo_clip(). This was breaking for windows
larger than 23 bits in width/height, due to cairo using fixed point
(24.8) for the path coordinates.

We fix this by pre-clipping the subwindow region to the existing
cairo clip region in the full 32bit gdkwindow precision. This fixes
the GooCanvas Large Items test.

https://bugzilla.gnome.org/show_bug.cgi?id=710958

12 years agoUpdates
Matthias Clasen [Mon, 28 Oct 2013 10:44:33 +0000 (06:44 -0400)]
Updates

12 years agoRevert "dialog: Fix docs for GtkDialog"
Matthias Clasen [Mon, 28 Oct 2013 10:39:21 +0000 (06:39 -0400)]
Revert "dialog: Fix docs for GtkDialog"

This reverts commit e4bb02f8ae698facc204c616108cc8f4c3b579bc.

Responses don't have to be negative.

12 years agoUpdate expected results for some a11y tests
Matthias Clasen [Fri, 25 Oct 2013 20:39:49 +0000 (16:39 -0400)]
Update expected results for some a11y tests

These are affected by recent changes to stock icons (adding
accessible names) and spinner sizing.

12 years agoRespect deprecated button images setting
Matthias Clasen [Fri, 25 Oct 2013 00:35:55 +0000 (20:35 -0400)]
Respect deprecated button images setting

I have been convinced that it is a bad idea to change the behaviour
at the same time as deprecating it, so go back to respecting the
Gtk/ButtonImages xsetting in buttons created with
gtk_button_new_from_stock() when it is set.

The setting as well as the function are still deprecated, and the
default value of the setting will remain FALSE.

12 years agoRespect deprecated menu images setting
Matthias Clasen [Fri, 25 Oct 2013 00:03:02 +0000 (20:03 -0400)]
Respect deprecated menu images setting

I have been convinced that it is a bad idea to change the behaviour
at the same time as deprecating it, so go back to respecting the
Gtk/MenuImages xsetting in GtkImageMenuItem when it is set.

The setting as well as the widget are still deprecated, and the
default value of the setting will remain FALSE.

12 years agoFix key "Page_Down" identified as "Next"
Olivier Brunel [Thu, 17 Oct 2013 18:19:21 +0000 (20:19 +0200)]
Fix key "Page_Down" identified as "Next"

Since 49c4ad2f the order between "Page_Down" & "Next" had been changed (due to
sorting) and this resulted in the Page Down key being identified as "Next"
instead of "Page_Down"

"Page_Up" wasn't affected, since it comes before "Prior"

Signed-off-by: Olivier Brunel <jjk@jjacky.com>
https://bugzilla.gnome.org/show_bug.cgi?id=710411

12 years agoRevert "GtkPlacesSidebar: support switching locations for XDS drag types"
Matthias Clasen [Wed, 23 Oct 2013 19:55:14 +0000 (15:55 -0400)]
Revert "GtkPlacesSidebar: support switching locations for XDS drag types"

This reverts commit 588ffa8c3241eff2f8e2d99b911a6bcb539347bd.

12 years agoRevert "GtkPlacesSidebar: support open locations when dragging text"
Matthias Clasen [Wed, 23 Oct 2013 19:54:52 +0000 (15:54 -0400)]
Revert "GtkPlacesSidebar: support open locations when dragging text"

This reverts commit 1b839d4b72a2cedb2bb633b5acd57239860693f4.

12 years agoRevert "GtkPlacesSidebar: use gtk api to add dnd uri targets"
Matthias Clasen [Wed, 23 Oct 2013 19:54:44 +0000 (15:54 -0400)]
Revert "GtkPlacesSidebar: use gtk api to add dnd uri targets"

This reverts commit 7fa27dff259ad79d5a4364d7eaa6b63150082af3.

12 years agoGtkPlacesSidebar: use gtk api to add dnd uri targets
Nelson Benítez León [Sat, 7 Sep 2013 11:15:01 +0000 (13:15 +0200)]
GtkPlacesSidebar: use gtk api to add dnd uri targets

Instead of hardcoding it in the dnd drop targets list.

Part of bug 707679

12 years agoGtkPlacesSidebar: support open locations when dragging text
Nelson Benítez León [Sat, 7 Sep 2013 11:09:47 +0000 (13:09 +0200)]
GtkPlacesSidebar: support open locations when dragging text

Make GtkPlacesSidebar also open locations when hovered by
text dnd targets.

Part of bug 707679

12 years agoGtkPlacesSidebar: support switching locations for XDS drag types
Nelson Benítez León [Sat, 7 Sep 2013 09:01:33 +0000 (11:01 +0200)]
GtkPlacesSidebar: support switching locations for XDS drag types

Make GtkPlacesSidebar also change locations when hovered
by XDS dnd targets (eg. dragging a file from file-roller).

Part of bug 707679

12 years agodialog: Fix docs for GtkDialog
Jasper St. Pierre [Wed, 23 Oct 2013 16:03:55 +0000 (12:03 -0400)]
dialog: Fix docs for GtkDialog

Responses need to be negative

12 years agoGtkScrolledWindow: Disconnect from frame clock properly
Bastien Nocera [Tue, 22 Oct 2013 16:45:00 +0000 (18:45 +0200)]
GtkScrolledWindow: Disconnect from frame clock properly

The tick callback IDs from GtkWidget aren't timeouts, so
use the correct function to disconnect from them.

Spotted by Benjamin Otte <otte@redhat.com>

https://bugzilla.gnome.org/show_bug.cgi?id=710666

12 years agoGtkWidget: Avoid lingering clock frame updates
Bastien Nocera [Tue, 22 Oct 2013 16:42:01 +0000 (18:42 +0200)]
GtkWidget: Avoid lingering clock frame updates

For some widgets, like GtkTreeView, which setup a clock frame
update during realize, it was possible to call
gdk_frame_clock_begin_updating() twice, but only ever disconnecting
from it once. This happens because the realized flag is set at an
unpredictable time by the GtkWidget's realize implementation.

Keep the signal handler ID from us connecting to the "update" signal
to avoid connecting to it twice.

This fixes high wake-up count from any application using GtkTreeView,
even idle ones.

https://bugzilla.gnome.org/show_bug.cgi?id=710666

12 years agoall: Add names to timeouts
Bastien Nocera [Tue, 22 Oct 2013 13:43:43 +0000 (15:43 +0200)]
all: Add names to timeouts

Add names to every timeout we setup, so it's easier to track their
usage, and debug possible misbehaviour.

https://bugzilla.gnome.org/show_bug.cgi?id=710651

12 years agoFix a typo
Matthias Clasen [Wed, 23 Oct 2013 10:27:09 +0000 (06:27 -0400)]
Fix a typo

12 years agoAdd missing symbol to docs
Jasper St. Pierre [Tue, 22 Oct 2013 18:56:12 +0000 (14:56 -0400)]
Add missing symbol to docs

12 years agoBump GLib req to 2.39
Matthias Clasen [Tue, 22 Oct 2013 11:37:46 +0000 (07:37 -0400)]
Bump GLib req to 2.39

Needed for GNotification.

12 years agoAdd some (silly) GNotification example
Matthias Clasen [Mon, 21 Oct 2013 21:23:44 +0000 (17:23 -0400)]
Add some (silly) GNotification example

Bloatpad can now notify you.

12 years agogdkwindow-x11: Don't set WM_TAKE_FOCUS if accept_focus is FALSE
Jasper St. Pierre [Thu, 17 Oct 2013 02:17:16 +0000 (22:17 -0400)]
gdkwindow-x11: Don't set WM_TAKE_FOCUS if accept_focus is FALSE

Otherwise, we'll be in the "Globally Active" mode instead of the
"No Input" mode.

https://bugzilla.gnome.org/show_bug.cgi?id=710389

12 years agoIcon theme: Hardcode fallback through the 'gnome' icon theme
Matthias Clasen [Mon, 21 Oct 2013 16:58:29 +0000 (12:58 -0400)]
Icon theme: Hardcode fallback through the 'gnome' icon theme

This is what we used to get through the Net/FallbackIcontheme
setting. Nobody has ever set this setting to a different value,
and people have come to rely on GTK+ applications getting their
icons this way.

12 years agoflowbox: Always return a NULL iter when we are at the end
Debarshi Ray [Mon, 21 Oct 2013 14:32:49 +0000 (16:32 +0200)]
flowbox: Always return a NULL iter when we are at the end

The objective is simplify the semantics of the code so that we don't
need to check for "(iter != NULL && !g_sequence_iter_is_end (iter))"
in the callers.

12 years agoflowbox: Be careful when the container is empty
Debarshi Ray [Mon, 21 Oct 2013 14:21:11 +0000 (16:21 +0200)]
flowbox: Be careful when the container is empty

Otherwise, showing an empty GtkFlowBox will lead to:
GLib-CRITICAL **: g_sequence_get: assertion '!is_end (iter)' failed

12 years agogtktoolbar: Make the icon-size property actually an enum
Jasper St. Pierre [Fri, 18 Oct 2013 20:12:58 +0000 (16:12 -0400)]
gtktoolbar: Make the icon-size property actually an enum

As this is what it's interpreted as.

12 years agoUpdated Russian translation
Stas Solovey [Fri, 18 Oct 2013 14:23:16 +0000 (18:23 +0400)]
Updated Russian translation

12 years agostackswitcher: Only show a button if the stack child is visible
Jasper St. Pierre [Thu, 17 Oct 2013 20:05:05 +0000 (16:05 -0400)]
stackswitcher: Only show a button if the stack child is visible

12 years agogtkflowbox: Fix warning when realizing
Jasper St. Pierre [Thu, 17 Oct 2013 19:12:58 +0000 (15:12 -0400)]
gtkflowbox: Fix warning when realizing

set_background needs the widget's window to be set.

12 years agoAdd docs for new API
Matthias Clasen [Thu, 17 Oct 2013 03:35:55 +0000 (23:35 -0400)]
Add docs for new API

12 years agoAdd new symbols to the docs
Matthias Clasen [Thu, 17 Oct 2013 03:16:11 +0000 (23:16 -0400)]
Add new symbols to the docs

12 years agoAdd an index for symbols added in 3.12
Matthias Clasen [Thu, 17 Oct 2013 03:14:57 +0000 (23:14 -0400)]
Add an index for symbols added in 3.12

12 years agoFix since tags
Matthias Clasen [Thu, 17 Oct 2013 03:14:07 +0000 (23:14 -0400)]
Fix since tags

Mark 3.12 api as such.

12 years agonotebook: inform the theme whether show-borders was set
William Jon McCann [Wed, 16 Oct 2013 16:03:33 +0000 (12:03 -0400)]
notebook: inform the theme whether show-borders was set

So that it can draw a border or not. If show-borders=true then
the notebook will have GTK_STYLE_CLASS_FRAME.

12 years agoRemove superfluous g_file_test()
Timothy Arceri [Fri, 4 Oct 2013 11:47:03 +0000 (21:47 +1000)]
Remove superfluous g_file_test()

https://bugzilla.gnome.org/show_bug.cgi?id=168530
Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au>
12 years agoFix GtkToolButton possibly being empty
Olivier Brunel [Mon, 14 Oct 2013 18:08:30 +0000 (20:08 +0200)]
Fix GtkToolButton possibly being empty

With style BOTH_HORIZ the label would not be selected (if not marked
"important") and when there's no icon, it would result in an empty button.

Signed-off-by: Olivier Brunel <jjk@jjacky.com>
https://bugzilla.gnome.org/show_bug.cgi?id=710134

12 years agoGtkBuilder: Fall back to gtk_test_register_all_types if type lookup fails
Alexander Larsson [Mon, 14 Oct 2013 14:05:08 +0000 (16:05 +0200)]
GtkBuilder: Fall back to gtk_test_register_all_types if type lookup fails

This is important because the dlsym() approach can fail if gtk was
loaded with RTLD_LOCAL.

https://bugzilla.gnome.org/show_bug.cgi?id=710096

12 years agogdkevents.h: Mention _get_source_device()
Bastien Nocera [Tue, 8 Oct 2013 09:44:37 +0000 (11:44 +0200)]
gdkevents.h: Mention _get_source_device()

It's too easy getting bitten by the ->device red herring, thinking
that it's the original input device the event originated from.

https://bugzilla.gnome.org/show_bug.cgi?id=709621

12 years agoFix an oversight
Matthias Clasen [Wed, 16 Oct 2013 01:29:06 +0000 (21:29 -0400)]
Fix an oversight

Followup for 3c41d4865e230f41a3f4cb5f72e438a0788c7bb3

12 years agoFall back to non-symbolic icons
Matthias Clasen [Wed, 16 Oct 2013 01:19:17 +0000 (21:19 -0400)]
Fall back to non-symbolic icons

When doing fallback for symbolic icons, we first shorten
the name at dashes while preserving the -symbolic suffix.
But after exhausting that, we should also try stripping
the suffix.

https://bugzilla.gnome.org/show_bug.cgi?id=708163

12 years agotooltip: Fix possible wrong placement
Olivier Brunel [Tue, 15 Oct 2013 13:06:26 +0000 (15:06 +0200)]
tooltip: Fix possible wrong placement

When showing a tooltip on the edge of a monitor, the tooltip could be wrongly
placed and be shown going from one monitor to the next.

This happened because the current_window wasn't set visible, and when it wasn't
the returned allocated size would be 1, hence wrong calculations.

Signed-off-by: Olivier Brunel <jjk@jjacky.com>
https://bugzilla.gnome.org/show_bug.cgi?id=698730

12 years agoFix a warning
Yosef Or Boczko [Wed, 9 Oct 2013 00:15:14 +0000 (03:15 +0300)]
Fix a warning

The PangoWrapMode enum has identical layout to GtkWrapMode,
but using the two interchangably causes (justified) compiler
warnings.

https://bugzilla.gnome.org/show_bug.cgi?id=709697

12 years agoSet an error when loading a GtkIconInfo fails
Matthias Clasen [Wed, 16 Oct 2013 00:00:57 +0000 (20:00 -0400)]
Set an error when loading a GtkIconInfo fails

Failure to do so leads to assertion failures.
https://bugzilla.gnome.org/show_bug.cgi?id=710073

12 years agoWayland: avoid accidental export of internal symbols
Matthias Clasen [Tue, 15 Oct 2013 23:41:26 +0000 (19:41 -0400)]
Wayland: avoid accidental export of internal symbols

Some symbols in the generated Wayland code were getting
decorated with WL_EXPORT, causing them to show up in the
libgdk exports. We don't want that.

https://bugzilla.gnome.org/show_bug.cgi?id=710141

12 years agoUpdated POTFILES.in
Piotr Drąg [Tue, 15 Oct 2013 22:33:53 +0000 (00:33 +0200)]
Updated POTFILES.in

12 years agoWayland: fix a crash in opaque region handling
Matthias Clasen [Tue, 15 Oct 2013 22:19:22 +0000 (18:19 -0400)]
Wayland: fix a crash in opaque region handling

We may get a NULL region passed to the backend, which means
'nothing is opaque'. In that case, don't crash, but pass
the information on to the compositor.

http://bugzilla.gnome.org/show_bug.cgi?id=709854

12 years agobloatpad: test dynamic accels
Ryan Lortie [Wed, 10 Jul 2013 03:51:40 +0000 (23:51 -0400)]
bloatpad: test dynamic accels

...this stuff will be in the action description soon.

12 years agoGtkApplication: a new approach to accels
Ryan Lortie [Wed, 10 Jul 2013 03:44:51 +0000 (23:44 -0400)]
GtkApplication: a new approach to accels

Rework how accels are handled on GtkApplicationWindow.

Instead of having GtkApplication fill the GtkAccelMap which is then used
by GtkApplicationWindow to create a GtkAccelGroup filled with closures
that is then associated with the window, do it directly.

GtkApplication now keeps a list of accels and their actions.
Accelerators on a GtkApplicationWindow ask GtkApplication to execute the
appropriate action.

This saves a fair bit of complexity and memory use (due to not having to
create all those closures and accelmap entries).  The new approach also
supports multiple accels per action (although there is not yet a public
API for it).

This patch (and the ones before) Reviewed and ACK'd by Matthias Clasen.

12 years agoGtkMenuTrackerItem: add support for dynamic accels
Ryan Lortie [Wed, 10 Jul 2013 02:50:14 +0000 (22:50 -0400)]
GtkMenuTrackerItem: add support for dynamic accels

Add support for pulling the primary accel out of the GtkActionMuxer.

With this change, it is no longer necessary to have the accel=''
attribute hardcoded onto each menu item (and, in fact, it should be left
off if you intend to have support for dynamic accelerator changing).

Specifying accel='' is a good way to force an accelerator not to be
displayed on a menu item.

12 years agoGtkMenuTrackerItem: use "action and target" format
Ryan Lortie [Wed, 10 Jul 2013 02:48:29 +0000 (22:48 -0400)]
GtkMenuTrackerItem: use "action and target" format

Store "action and target" format inside each GtkMenuTrackerItem.  This
makes action invocation more efficient (no hash table lookups or
allocations) and slightly simplifies handling of action namespace.

More importantly, this will be used when we start to get accels from
GtkActionMuxer.

12 years agoGtkActionMuxer: store primary accels
Ryan Lortie [Wed, 10 Jul 2013 02:37:17 +0000 (22:37 -0400)]
GtkActionMuxer: store primary accels

Reuse the existing infrastructure in GtkActionMuxer for propagation of
accelerator information: in particular, what accel label ought to appear
on menu items for a particular action and target.

This is a good idea because we want accels to travel along with the
actions that they're tied to and reusing GtkActionMuxer will allow us to
do that without creating another hierarchy of a different class for the
sole purpose of filling in accel labels on menu items.

Doing it this ways also allows those who copy/paste GtkActionMuxer to
insert the accels for themselves.

Add a new method on the GtkActionObserver interface to report changes.

This patch introduces a new concept: "action and target" notation for
actions.  This format looks like so:

  "'target'|app.action"

or for non-targeted actions:

  "|app.action"

and it is used over a number of possible alternative formats for some
good reasons:

 - it's very easy to get a nul-terminated action name out of this format
   when we need it, by using strrchr('|') + 1

 - we can also get the target out of it using g_variant_parse() because
   this function takes a pointer to a 'limit' character that is not
   parsed past: we use the '|' for this

 - it's extremely easy to hash on this format (just use a normal string
   hash) vs. attempting to hash on a string plus a GVariant

A close contender was to use detailed action strings here, but these are
not used for two reasons:

 - it's not possible to easily get the action name or target out of the
   strings without more work than the "action and target" format
   requires

 - we still intend to use detailed action strings on API (since they are
   a lot nicer to look at) but detailed action strings can be given in
   non-canonical forms (eg: 'foo::bar' and 'foo("bar")' are equivalent)
   so we'd have to go through a normalisation step anyway.  Since we're
   doing that already, we may as well convert to a more convenient
   internal format.

This new "action and target" format is going to start appearing in a lot
more places as action descriptions are introduced.

I suspect that nobody is using '|' in their action names, but in case I
am proven wrong, we can always switch to using something more exotic as
a separator character (such as '\x01' or '\xff' or the like).

12 years agoGtkWindow: change muxer setup with application
Ryan Lortie [Wed, 10 Jul 2013 02:33:22 +0000 (22:33 -0400)]
GtkWindow: change muxer setup with application

Previously, GtkWindow would add the "app" action group to its own
toplevel muxer.

Change the setup so that GtkApplication creates the toplevel muxer and
adds itself to it as "app".  Use this muxer as the parent muxer of any
GtkWindow associated with the application.

This saves a small amount of memory and will allow for accels to be
propagated from the application through to all of the windows.

12 years agoGtkBuilder: add GtkApplication
Ryan Lortie [Sun, 16 Jun 2013 20:29:50 +0000 (16:29 -0400)]
GtkBuilder: add GtkApplication

Add a GtkApplication (private) field to GtkBuilder

12 years agoFix a crash in icon handling
Matthias Clasen [Tue, 15 Oct 2013 12:04:25 +0000 (08:04 -0400)]
Fix a crash in icon handling

The load_error was freed in two places.
Fix based on a patch in
https://bugzilla.gnome.org/show_bug.cgi?id=709967

12 years agoUpdated Spanish translation
Daniel Mustieles [Tue, 15 Oct 2013 09:12:22 +0000 (11:12 +0200)]
Updated Spanish translation

12 years agoUpdated Indonesian translation
Andika Triwidada [Tue, 15 Oct 2013 05:10:43 +0000 (12:10 +0700)]
Updated Indonesian translation

12 years agoRestore accessible names for image-only buttons
Matthias Clasen [Mon, 14 Oct 2013 14:33:32 +0000 (10:33 -0400)]
Restore accessible names for image-only buttons

With the stock system being deprecated now, we should provide
meaningful accessible names for buttons that are constructed
from icon names or GIcons. This commit reuses the existing
translations.

It is possible that some common icon names are not covered
here because they were not present as stock items. These can
be added to the table later.

12 years ago[l10n] Updated Catalan (Valencian) translation
Carles Ferrando [Sun, 13 Oct 2013 20:24:00 +0000 (22:24 +0200)]
[l10n] Updated Catalan (Valencian) translation

12 years ago[l10n] Update Catalan translation
Gil Forcada [Sun, 13 Oct 2013 20:23:34 +0000 (22:23 +0200)]
[l10n] Update Catalan translation

12 years agoUpdated translation for Afrikaans (af)
Friedel Wolff [Sun, 13 Oct 2013 15:26:13 +0000 (17:26 +0200)]
Updated translation for Afrikaans (af)

12 years agoBug 709939 - monitor reconfiguration while GtkOffscreenWindows
Charles Reiss [Fri, 11 Oct 2013 22:53:37 +0000 (15:53 -0700)]
Bug 709939 - monitor reconfiguration while GtkOffscreenWindows

exist triggers crash on quartz. Special case the position update
to ignore the off-screen windows.

12 years agoQuell a compiler warning
Matthias Clasen [Fri, 11 Oct 2013 02:14:32 +0000 (22:14 -0400)]
Quell a compiler warning

12 years agoNULL check on default keymap
Philip Chimento [Wed, 28 Aug 2013 06:46:22 +0000 (23:46 -0700)]
NULL check on default keymap

Ensure that Quartz's default keymap is not accessed before it is
created.

12 years agoFix infinite loop in gdkevents.c _gdk_event_queue_find_first
Hamish Mackenzie [Sat, 28 Sep 2013 16:06:53 +0000 (05:06 +1300)]
Fix infinite loop in gdkevents.c _gdk_event_queue_find_first

12 years agoEnsure src and dest are GdkWindows in _gdk_sythesize_crossing_events
John Ralls [Fri, 11 Oct 2013 17:40:50 +0000 (10:40 -0700)]
Ensure src and dest are GdkWindows in _gdk_sythesize_crossing_events

Discovered via a crash because b's (dest's) toplevel was NULL;
ensuring that the dest is actually a GdkWindow or setting b to NULL
prevents that path from being taken.

12 years agoFix double-free introduced in f86dc163
John Ralls [Fri, 11 Oct 2013 17:40:26 +0000 (10:40 -0700)]
Fix double-free introduced in f86dc163

12 years agospinner: don't expand to fill the allocated space
William Jon McCann [Thu, 10 Oct 2013 20:54:16 +0000 (16:54 -0400)]
spinner: don't expand to fill the allocated space

Spinners are essentially animated symbolic icons. We don't really
want them being rendered to arbitrary sizes. Also the current
technique for rendering the activity is not suitable for larger
sizes. Until we have a better technique we should limit the size
to the MENU icon size or exactly twice that size.

12 years agolistbox: Fix keynav_failed() parameter in move_cursor()
Florian Müllner [Tue, 8 Oct 2013 21:56:19 +0000 (23:56 +0200)]
listbox: Fix keynav_failed() parameter in move_cursor()

The 'direction' parameter to gtk_widget_keynav_failed() is based on
gtk_list_box_move_cursor()'s 'count' parameter. However if the passed
in movement is GTK_MOVEMENT_DISPLAY_LINES, 'count' is modified by
the keynav handling and will always be 0. To avoid messing up the
'direction' parameter, use a local variable for keynav handling and
leave 'count' untouched.

https://bugzilla.gnome.org/show_bug.cgi?id=709687

12 years agoGMenu docs: Tiny grammar fix
Murray Cumming [Fri, 11 Oct 2013 08:25:24 +0000 (10:25 +0200)]
GMenu docs: Tiny grammar fix

12 years agoL10N: Updated Persian translations
Arash Mousavi [Fri, 11 Oct 2013 06:26:24 +0000 (09:56 +0330)]
L10N: Updated Persian translations

12 years agoSuppress cursor theme unsupported warning when there's no theme.
John Ralls [Thu, 10 Oct 2013 22:35:41 +0000 (15:35 -0700)]
Suppress cursor theme unsupported warning when there's no theme.

12 years agoImplement gtk_drag_begin_with_coordinates () for quartz.
John Ralls [Thu, 10 Oct 2013 22:34:08 +0000 (15:34 -0700)]
Implement gtk_drag_begin_with_coordinates () for quartz.

12 years agoSuppress frequent device assertions
John Ralls [Thu, 10 Oct 2013 22:24:43 +0000 (15:24 -0700)]
Suppress frequent device assertions

Because send crossing event is usually called with a NULL source_device in quartz.